package com.itheima.service;

import com.itheima.pojo.Emp;
import com.itheima.pojo.LoginInfo;
import com.itheima.pojo.PageBean;

import java.time.LocalDate;
import java.util.List;

public interface EmpService {
    /**
     * 分页查询员工列表
     * @param name 搜索条件-姓名
     * @param gender 搜索条件-性别
     * @param begin 搜索条件-入职日期的开始值
     * @param end 搜索条件-入职日期的结束值
     * @param page 分页条件-页码
     * @param pageSize 分页条件-每页几行
     * @return 分页查询的结果，其中包含 rows员工列表， total总数量
     */
    PageBean<Emp> page(String name, Integer gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize);

    /**
     * 新增员工信息
     * @param emp
     */
    void add(Emp emp) throws Exception;

    /**
     * 根据id删除员工
     * @param ids
     */
    void deleteByIds(List<Integer> ids);

    Emp getById(Integer id);

    /**
     * 根据id修改员工信息
     * @param emp
     */
    void updateById(Emp emp);

    /**
     * 查询所有员工
     * @return
     */
    List<Emp> queryAll();

    /**
     * 员工登录
     * @param emp
     * @return
     */
    LoginInfo login(Emp emp);
}